/**
 * 获取存储在本地缓存中的用户信息
 * 优先从localStorage获取，如果不存在则尝试从sessionStorage获取
 * @returns Promise<UserInfo | null> 返回用户信息对象或null（如果未找到或解析失败）
 */
export const getUserInfo = ():UserInfo|null => {
  const userInfoStr = localStorage.getItem('userInfo') || sessionStorage.getItem('userInfo')||null;
  return userInfoStr ? JSON.parse(userInfoStr) : null;
};

export const getToken = ():string|null => {
  return localStorage.getItem('token') || sessionStorage.getItem('token') || null;
};
export const isLogin = ():boolean => {
  return !!getUserInfo() && !!getToken();
};
/**
 * 获取当前登录用户的ID
 * 通过调用getUserInfo函数获取完整用户信息，然后提取其中的ID字段
 * @returns Promise<string | null> 返回用户ID字符串或null（如果未找到用户信息或ID）
 */
export const getUserId =():string => {
  const userInfo = getUserInfo();
  return userInfo ? userInfo.id : '';
};